var User = require('./user');

// 1.插入新数据
// (async () => {
//     try {
//         let res = await User.create({
//             mobile: '我是小小艳',
//             password: '13710681306 - 666',
//             createTime: new Date()
//         });
//         console.log('res - 数据插入成功', res);
//     } catch (err) {
//         console.log('数据插入失败' + err);
//     }
// })();

// 2. 根据指定条件更新符合匹配条件的数据
// (async () => {
//     try {
//         let res = await User.update({ mobile: 'aaa' }, { password: '3333333333' });
//         console.log('res - 数据更新成功', res);
//     } catch (err) {
//         console.log('数据更新失败' + err);
//     }
// })();

// 3. 根据id找到某条数据并更新
// let id = '5ea7db9aee094924709b508d';
// (async () => { 
//     try {
//         let res = await User.findByIdAndUpdate(id
//             // {
//             //     _id: '5ea7db9aee094924709b508d'
//             // }
//             ,{
//                 mobile: 'zns_blue'
//             }
//         );
//         console.log('res - 数据更新成功', res);
//     } catch (err) {
//         console.log('数据更新失败' + err);
//     }
// })();

// 4. 如果找到有多条记录，那么只会选择第一条并更新该记录
// (async () => {
//     try {
//         let res = await User.findOneAndUpdate({ mobile: 'aaa' }, { mobile: 'AAAAAA' });
//         console.log('res - 数据更新成功', res);
//     } catch (err) {
//         console.log('数据更新失败' + err);
//     }
// })();

// 5. 指定条件删除数据
// (async () => {
//     try {
//         let res = await User.remove({
//             mobile: 'aaa'
//         });
//         console.log('res - 数据删除成功', res);
//     } catch (err) {
//         console.log('数据删除失败' + err);
//     }
//  })();

// 6. 模糊查询，查询包含b的所有用户
// (async () => { 
//     try {
//         let res = await User.find({
//             mobile: {
//                 $regex: /b/i
//             }
//         });
//         console.log('res - 数据查询成功', res);
//     } catch (err) {
//         console.log('数据查询失败' + err);
//     }
// })();

// 7. 分页查询
// 每页多少条数据
let pageSize = 10;

// 当前是第几页
let currentPage = 1;

// 排序条件 1 升序  -1 降序
let sort = { createTime: -1 };

// 查询条件
let condition = {};

// 跳过多少数据
let skipNum = (currentPage - 1) * pageSize;

(async () => { 
    try {
        let res = await User.find(condition).skip(skipNum).limit(pageSize).sort(sort).exec();
        console.log('res - 分页数据处理成功', res);
    } catch (err) {
        console.log('分页数据处理失败' + err);
    }
})();




